沒想到真的成功完賽了,本來我覺得鐵人賽應該與我無緣,不過受到了各種鼓吹再加上所處的團隊裡不知道為什麼有寫鐵人賽的風氣,於是就默默跟車了,非常感謝同事們跟我一起組隊,感謝團長富哥擔當門面,不只參賽還開兩個坑真的超頂。
也非常感謝抽空幫我請教和提供建議的朋友們,沒有你們我可能就無法完賽了,當然也要感謝一路跟著讀完本系列的朋友們,我自己是有興趣才推動我去查資料和讀書的,所以我覺得前端工程師要看這些工作上幾乎用不到的東西真的要對演算法非常有愛才辦得到。
會選擇這個主題也是剛好就在讀相關的書,就順便拿來當讀書筆記跟心得了,一開始想著要寫點新手向的內容,不過在拿了初稿給一些本科的朋友看了之後,得到了很多這不像是新手能看的東西,所以又一路修修改改,過程中也又再複習了一次,釐清了不少當初以為懂了但其實根本就不懂的很多知識點,如果沒有因為要參賽寫文章,我可能也不會注意到吧。
在開賽前參考了很多過去前輩們寫的相關主題的系列文,一直在思考要怎麼樣可以做一點稍微不一樣的變化,也有想過是不是要用 TypeScript 當作實作程式碼的語言,但稍微詢問身邊的朋友後發現有在用 TS 的比例實在是少,最後還是使用 JavaScript。另外基於私心我也決定在系列文專案中的所有實作程式碼都加上了單元測試,理由很單純,就是我懶,一直去看 console 檢查實作是否正確很花時間,直接讓單元測試幫我檢查,我只要確定它是“綠燈”就好,測試程式碼我也在一開始就提供好,這樣在服用本文時也不用擔心沒寫過測試要怎麼辦,只要照著指令去跑就好。我在看書時很常被一些作者不小心寫錯導致他的範例程式碼我照寫後跑起來後有 bug 給雷到,有了測試後其實也是幫我檢查我文章上的 code 有沒有寫錯,實在是方便,在完賽的時間點測資也來到了 300 個,真的是寫好寫滿,我在公司的專案裡也沒這麼多。
如果有讀者在過程中因此對單元測試起了興趣,想要進一步學習關於單元測試的知識的話,這裡友情工商一下前同事,也是教我寫測試的前輩 ShawnL 最近新出的前端單元測試的書:Vue.js 3前端測試入門從這裡開始。我差不多也是去年這時候看他寫鐵人賽時入坑單元測試的,個人強推XD
最後還是想吐槽一下鐵人賽的編輯器XD 那個數學公式真的好難用,好想要有原生支援的 KaTeX 語法喔,每次在本地寫好的公式,放上來就是要一個一個去換掉,然後文章就會變得很肥很難編輯,如下圖:
這邊敲碗一下希望以後可以用兩個錢字號 $
就可以塞入這些公式
恭喜完賽!寫到300個測資真的猛,shawn的測試書真的推~之前寫鐵人賽就發現真的有逼自己有差,有些觀念寫出來似懂非懂才會去認真查,讚讚!
比起測試,更花時間的其實是畫圖,真的會畫到牙起來